import {login} from '@/api/login'//引入登录 api 接口
import {allRequest} from '@/api/allRequest'//引入登录 api 接口


const user = {
    actions: {
        //登录 定义 Login 方法，在组件中使用 this.$store.dispatch("Login") 调用
        Login({commit}, userInfo) {
            const username = userInfo.username.trim()
            return new Promise((resolve, reject) => { //封装一个 Promise
                login(username, userInfo.password).then(response => { //使用 login 接口进行网络请求
                    commit('') //提交一个 mutation，通知状态改变
                    resolve(response) //将结果封装进 Promise
                }).catch(error => {
                    reject(error)
                })
            })
        },

        //请求定义 GetRequestData 方法，在组件中使用 this.$store.dispatch("GetRequestData") 调用
        // 统一请求为 SendGetRequest/SendPostRequest，传递不同路径 path
        SendGetRequest({commit}, path, data) {
            //封装一个 Promise
            return new Promise((resolve, reject) => {
                //使用 getRequestData 接口进行网络请求
                allRequest(path, 'get', data).then(response => {
                    //提交一个 mutation，通知状态改变
                    commit('')
                    //将结果封装进 Promise
                    resolve(response)
                }).catch(error => {
                    reject(error)
                })
            })
        },
        SendPostRequest({commit}, path, data) {
            //封装一个 Promise
            return new Promise((resolve, reject) => {
                //使用 getRequestData 接口进行网络请求
                allRequest(path, 'post', data).then(response => {
                    //提交一个 mutation，通知状态改变
                    commit('')
                    //将结果封装进 Promise
                    resolve(response)
                }).catch(error => {
                    reject(error)
                })
            })
        },
    }
}
export default user
